JavaScript: プリミティブ型と参照型
メソッドを持たないデータ
種類
文字列 'string'
数値 1, 3.14
真偽値 true, false
null null
undefined undefined
シンボル
変数には値が格納される。変数がコピーされると、値がコピーされる。
code:js
let x = 0;
let y = x; // y には 0が格納される。0への参照ではない。
x = 1;
console.log(y) // 0
オブジェクトのように扱われると、ラッパーオブジェクト?を生成してオブジェクトのように扱われる
プリミティブ型以外はすべてオブジェクト
Object() {key: value}
Array() [1, 2, 3]
Function() function() {}
Date() new Date()
RegExp() /^a/
Error() new Error()
複合型とも
リテラルもしくはnew演算子で生成
変数にはオブジェクトへの参照が格納される。変数がコピーされると、オブジェクトへの参照がコピーされる。
code:js
let obj1 = {};
let obj2 = obj1; // obj2 には {}への参照が格納される。
obj1.prop = 1;
console.log(obj2.prop) // 1
データ型を調べる方法
code:js
console.log(typeof true); // "boolean"
参考
開眼! JavaScript